Analisis Exploratorio (MNIST)#
Cargue de librerias y datos#
import plotly.graph_objs as go
from plotly.subplots import make_subplots
import os
import time
import shutil
import pathlib
import itertools
# import data handling tools
import numpy as np
import pandas as pd
import seaborn as sns
sns.set_style('darkgrid')
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import label_binarize
from sklearn.metrics import confusion_matrix, classification_report, roc_curve, auc
from skimage.io import imread, imshow
from skimage.transform import resize
from PIL import Image
from collections import defaultdict
import pandas as pd
import numpy as np
from scipy.special import softmax
import matplotlib.pyplot as plt
import cv2
import dash_bootstrap_components as dbc
import tensorflow as tf
import base64
from PIL import Image
import io
import requests
from io import StringIO,BytesIO
from skimage.filters import gaussian
from skimage import feature, img_as_ubyte, transform
from scipy.ndimage import gaussian_filter as gaussian
from tensorflow.keras.models import load_model
import tempfile
import tensorflow as tf
import tensorflow_probability as tfp
tfd = tfp.distributions
from tensorflow_probability.python.layers import DenseVariational, DenseReparameterization, DenseFlipout, Convolution2DFlipout, Convolution2DReparameterization
from tensorflow_probability.python.layers import DistributionLambda
from tensorflow.keras.models import Model, Sequential
from tensorflow.keras.layers import Dense, Flatten, BatchNormalization, Activation, LeakyReLU
from tensorflow.keras.layers import Input as KerasInput
from tensorflow.keras.utils import plot_model
from tensorflow.keras.optimizers import *
tf.compat.v1.enable_eager_execution()
import pandas as pd
import numpy as np
from scipy.special import softmax
import matplotlib.pyplot as plt
import tensorflow as tf
import tensorflow_probability as tfp
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam
from tensorflow_probability.python.layers import Convolution2DFlipout, DenseFlipout
from scipy.stats import shapiro
import plotly.express as px
from sklearn.decomposition import PCA
WARNING:tensorflow:From C:\miniconda\envs\imagenes_venv\lib\site-packages\keras\src\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead.
WARNING:tensorflow:From C:\miniconda\envs\imagenes_venv\lib\site-packages\tensorflow_probability\python\internal\backend\numpy\_utils.py:48: The name tf.logging.TaskLevelStatusMessage is deprecated. Please use tf.compat.v1.logging.TaskLevelStatusMessage instead.
WARNING:tensorflow:From C:\miniconda\envs\imagenes_venv\lib\site-packages\tensorflow_probability\python\internal\backend\numpy\_utils.py:48: The name tf.control_flow_v2_enabled is deprecated. Please use tf.compat.v1.control_flow_v2_enabled instead.
# Cargar el conjunto de datos MNIST
(X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()
X_train_flat = X_train.reshape(X_train.shape[0],-1)
# Mapeo d e etiquetas a números
label_mapping = {0: 'cero', 1: 'uno', 2: 'dos', 3: 'tres', 4: 'cuatro', 5: 'cinco', 6: 'seis', 7: 'siete', 8: 'ocho', 9: 'nueve'}
import nbformat
print(nbformat.__version__)
5.10.4
from scipy.stats import shapiro
import numpy as np
import plotly.express as px
Analisis Exploratorio de las imagenes#
x_train = X_train / 255.0
# Calcular la distribución de la intensidad de los píxeles para cada dígito
intensity_distributions = []
for digit in range(10):
digit_indices = np.where(y_train == digit)[0]
digit_intensities = x_train[digit_indices].mean(axis=(0, 1))
intensity_distributions.append(digit_intensities)
# Crear un gráfico de líneas con área bajo la curva para mostrar la distribución de intensidad de los píxeles para cada dígito
fig = go.Figure()
for digit, intensities in enumerate(intensity_distributions):
fig.add_trace(go.Scatter(x=np.arange(0, 784), y=intensities,
mode='lines',
name=str(digit),
fill='tozeroy'))
fig.update_layout(title="Distribución de la Intensidad de los Píxeles para Cada Dígito",
xaxis_title="Pixel",
yaxis_title="Intensidad Media")
fig.show()
podemos ver que la distribucion de la intensidad de los digitos aunque estan en los mismos rangos, tienen valores esperados muy diferentes, por ejemplo el digito 0 tiene al parecer dos modas y la mayoria parcer no distribuir normal, la mas cercana puede ser la distribucion del digito 1
digit_1_indices = np.where(y_train == 1)[0]
digit_1_intensities = x_train[digit_1_indices].mean(axis=(0, 1))
# Realizar la prueba de Shapiro-Wilk para la normalidad
statistic, p_value = shapiro(digit_1_intensities)
# Imprimir el resultado
print("Estadístico de prueba:", statistic)
print("Valor p:", p_value)
if p_value > 0.05:
print("No se rechaza la hipótesis nula (la distribución es normal)")
else:
print("Se rechaza la hipótesis nula (la distribución no es normal)")
Estadístico de prueba: 0.6698668668397405
Valor p: 1.0988225561840675e-06
Se rechaza la hipótesis nula (la distribución no es normal)
con esto validamos de que aunque la distribucion de intensidad parece distribuir normal, pues en realidad esta distribucion no refleja esta naturaleza de nuestros datos.
# Calcular los tamaños de las imágenes
sizes = [img.shape for img in x_train]
# Calcular los ratios de aspecto de las imágenes
ratios = [shape[1] / shape[0] for shape in sizes]
# Calcular los tamaños de las imágenes para cada dígito
digit_sizes = [[] for _ in range(10)]
for img, label in zip(x_train, y_train):
digit_sizes[label].append(img.shape[0])
# Crear el gráfico interactivo para la distribución de tamaños
fig1 = go.Figure()
colors = ['blue', 'green', 'red', 'purple', 'orange', 'yellow', 'cyan', 'magenta', 'lime', 'pink']
for digit, sizes in enumerate(digit_sizes):
fig1.add_trace(go.Histogram(x=sizes, nbinsx=20,
marker_color=colors[digit],
name=f'Dígito {digit}'))
fig1.update_layout(title='Distribución de Tamaños de Imágenes por Dígito',
xaxis_title='Ancho',
yaxis_title='Frecuencia',
hovermode="closest")
fig1.update_traces(hovertemplate="Ancho: %{x}<br>Frecuencia: %{y}")
# Calcular los ratios de aspecto de las imágenes para cada dígito
digit_ratios = [[] for _ in range(10)]
for img, label in zip(x_train, y_train):
digit_ratios[label].append(img.shape[1] / img.shape[0])
# Crear el gráfico interactivo para la distribución de ratios de aspecto
fig2 = go.Figure()
for digit, ratios in enumerate(digit_ratios):
fig2.add_trace(go.Histogram(x=ratios, nbinsx=20,
marker_color=colors[digit],
name=f'Dígito {digit}'))
fig2.update_layout(title='Distribución de Relaciones de Aspecto de Imágenes por Dígito',
xaxis_title='Relación de Aspecto (Ancho/Altura)',
yaxis_title='Frecuencia',
hovermode="closest")
fig2.update_traces(hovertemplate="Relación de Aspecto: %{x}<br>Frecuencia: %{y}")
# Mostrar los gráficos
fig1.show()
fig2.show()
podemos ver que aqui dos cosas primero no esta desbalanceado los digitos es decir no hay una clase con una gran diferencia en cuestion de precensia en el dataset frente a las demas, la que mayor tiene es el digito 1, y podemos ver con el tooltip que la relacion es 1 para todos los digitos y el tamaño tambien.
# Seleccionar las primeras 3 imágenes para visualizar
(X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()
images = x_train[:3]
# Crear la figura y los subplots
fig, axes = plt.subplots(1, 3, figsize=(18, 6))
# Para cada imagen
for i, ax in enumerate(axes):
# Obtener la imagen y aplanarla
img = images[i]
img_flat = img.ravel()
# Crear el histograma de la imagen
sns.histplot(img_flat, bins=np.arange(0, 255), ax=ax, color='skyblue')
ax.set_title(f'Canal de Gris - Imagen {i+1}')
plt.show()
ANALISIS DE COMPONENTES PRINCIPALES (PCA) Y t-Distributed Stochastic Neighbor Embedding (TSNE)#
Para dos componentes#
pca = PCA(n_components=2)
data = pca.fit_transform(X_train_flat)
pca_df = pd.DataFrame(data, columns=[f'Componente {i+1}' for i in range(2)])
pca_df['label'] = y_train.astype(str) # Convertir etiquetas a cadenas (strings)
# Obtener la varianza explicada
varianza_explicada = pca.explained_variance_ratio_
print("Varianza explicada por cada componente:")
for i, varianza in enumerate(varianza_explicada):
print(f"Componente {i+1}: {varianza:.2f}")
Varianza explicada por cada componente:
Componente 1: 0.10
Componente 2: 0.07
fig = px.scatter(pca_df, x='Componente 1', y='Componente 2', color='label', hover_data=['label'])
fig.update_layout(title=f'PCA de MNIST con {2} Componentes')
fig.show()
pca = PCA(n_components=3)
data = pca.fit_transform(X_train_flat)
pca_df = pd.DataFrame(data, columns=[f'Componente {i+1}' for i in range(3)])
pca_df['label'] = y_train.astype(str) # Convertir etiquetas a cadenas (strings)
# Obtener la varianza explicada
varianza_explicada = pca.explained_variance_ratio_
print("Varianza explicada por cada componente:")
for i, varianza in enumerate(varianza_explicada):
print(f"Componente {i+1}: {varianza:.2f}")
Varianza explicada por cada componente:
Componente 1: 0.10
Componente 2: 0.07
Componente 3: 0.06
fig = px.scatter_3d(pca_df, x='Componente 1', y='Componente 2', z='Componente 3', color='label', hover_data=['label'])
fig.update_layout(title=f'PCA de MNIST con {3} Componentes')
fig.show()
# Inicializar y ajustar el modelo PCA
pca = PCA()
data = pca.fit_transform(X_train_flat)
# Obtener la varianza explicada
varianza_explicada = pca.explained_variance_ratio_
# Inicializar variables
varianza_acumulada = 0.0
num_componentes_85 = 0
# Iterar sobre las varianzas explicadas
for i, varianza in enumerate(varianza_explicada):
varianza_acumulada += varianza
if varianza_acumulada >= 0.85:
num_componentes_85 = i + 1
break
print("Varianza explicada por cada componente:")
for i, varianza in enumerate(varianza_explicada):
print(f"Componente {i+1}: {varianza:.2f}")
print(f"Número de componentes para explicar al menos el 85% de la varianza: {num_componentes_85}")
Varianza explicada por cada componente:
Componente 1: 0.10
Componente 2: 0.07
Componente 3: 0.06
Componente 4: 0.05
Componente 5: 0.05
Componente 6: 0.04
Componente 7: 0.03
Componente 8: 0.03
Componente 9: 0.03
Componente 10: 0.02
Componente 11: 0.02
Componente 12: 0.02
Componente 13: 0.02
Componente 14: 0.02
Componente 15: 0.02
Componente 16: 0.01
Componente 17: 0.01
Componente 18: 0.01
Componente 19: 0.01
Componente 20: 0.01
Componente 21: 0.01
Componente 22: 0.01
Componente 23: 0.01
Componente 24: 0.01
Componente 25: 0.01
Componente 26: 0.01
Componente 27: 0.01
Componente 28: 0.01
Componente 29: 0.01
Componente 30: 0.01
Componente 31: 0.01
Componente 32: 0.01
Componente 33: 0.01
Componente 34: 0.01
Componente 35: 0.01
Componente 36: 0.01
Componente 37: 0.01
Componente 38: 0.00
Componente 39: 0.00
Componente 40: 0.00
Componente 41: 0.00
Componente 42: 0.00
Componente 43: 0.00
Componente 44: 0.00
Componente 45: 0.00
Componente 46: 0.00
Componente 47: 0.00
Componente 48: 0.00
Componente 49: 0.00
Componente 50: 0.00
Componente 51: 0.00
Componente 52: 0.00
Componente 53: 0.00
Componente 54: 0.00
Componente 55: 0.00
Componente 56: 0.00
Componente 57: 0.00
Componente 58: 0.00
Componente 59: 0.00
Componente 60: 0.00
Componente 61: 0.00
Componente 62: 0.00
Componente 63: 0.00
Componente 64: 0.00
Componente 65: 0.00
Componente 66: 0.00
Componente 67: 0.00
Componente 68: 0.00
Componente 69: 0.00
Componente 70: 0.00
Componente 71: 0.00
Componente 72: 0.00
Componente 73: 0.00
Componente 74: 0.00
Componente 75: 0.00
Componente 76: 0.00
Componente 77: 0.00
Componente 78: 0.00
Componente 79: 0.00
Componente 80: 0.00
Componente 81: 0.00
Componente 82: 0.00
Componente 83: 0.00
Componente 84: 0.00
Componente 85: 0.00
Componente 86: 0.00
Componente 87: 0.00
Componente 88: 0.00
Componente 89: 0.00
Componente 90: 0.00
Componente 91: 0.00
Componente 92: 0.00
Componente 93: 0.00
Componente 94: 0.00
Componente 95: 0.00
Componente 96: 0.00
Componente 97: 0.00
Componente 98: 0.00
Componente 99: 0.00
Componente 100: 0.00
Componente 101: 0.00
Componente 102: 0.00
Componente 103: 0.00
Componente 104: 0.00
Componente 105: 0.00
Componente 106: 0.00
Componente 107: 0.00
Componente 108: 0.00
Componente 109: 0.00
Componente 110: 0.00
Componente 111: 0.00
Componente 112: 0.00
Componente 113: 0.00
Componente 114: 0.00
Componente 115: 0.00
Componente 116: 0.00
Componente 117: 0.00
Componente 118: 0.00
Componente 119: 0.00
Componente 120: 0.00
Componente 121: 0.00
Componente 122: 0.00
Componente 123: 0.00
Componente 124: 0.00
Componente 125: 0.00
Componente 126: 0.00
Componente 127: 0.00
Componente 128: 0.00
Componente 129: 0.00
Componente 130: 0.00
Componente 131: 0.00
Componente 132: 0.00
Componente 133: 0.00
Componente 134: 0.00
Componente 135: 0.00
Componente 136: 0.00
Componente 137: 0.00
Componente 138: 0.00
Componente 139: 0.00
Componente 140: 0.00
Componente 141: 0.00
Componente 142: 0.00
Componente 143: 0.00
Componente 144: 0.00
Componente 145: 0.00
Componente 146: 0.00
Componente 147: 0.00
Componente 148: 0.00
Componente 149: 0.00
Componente 150: 0.00
Componente 151: 0.00
Componente 152: 0.00
Componente 153: 0.00
Componente 154: 0.00
Componente 155: 0.00
Componente 156: 0.00
Componente 157: 0.00
Componente 158: 0.00
Componente 159: 0.00
Componente 160: 0.00
Componente 161: 0.00
Componente 162: 0.00
Componente 163: 0.00
Componente 164: 0.00
Componente 165: 0.00
Componente 166: 0.00
Componente 167: 0.00
Componente 168: 0.00
Componente 169: 0.00
Componente 170: 0.00
Componente 171: 0.00
Componente 172: 0.00
Componente 173: 0.00
Componente 174: 0.00
Componente 175: 0.00
Componente 176: 0.00
Componente 177: 0.00
Componente 178: 0.00
Componente 179: 0.00
Componente 180: 0.00
Componente 181: 0.00
Componente 182: 0.00
Componente 183: 0.00
Componente 184: 0.00
Componente 185: 0.00
Componente 186: 0.00
Componente 187: 0.00
Componente 188: 0.00
Componente 189: 0.00
Componente 190: 0.00
Componente 191: 0.00
Componente 192: 0.00
Componente 193: 0.00
Componente 194: 0.00
Componente 195: 0.00
Componente 196: 0.00
Componente 197: 0.00
Componente 198: 0.00
Componente 199: 0.00
Componente 200: 0.00
Componente 201: 0.00
Componente 202: 0.00
Componente 203: 0.00
Componente 204: 0.00
Componente 205: 0.00
Componente 206: 0.00
Componente 207: 0.00
Componente 208: 0.00
Componente 209: 0.00
Componente 210: 0.00
Componente 211: 0.00
Componente 212: 0.00
Componente 213: 0.00
Componente 214: 0.00
Componente 215: 0.00
Componente 216: 0.00
Componente 217: 0.00
Componente 218: 0.00
Componente 219: 0.00
Componente 220: 0.00
Componente 221: 0.00
Componente 222: 0.00
Componente 223: 0.00
Componente 224: 0.00
Componente 225: 0.00
Componente 226: 0.00
Componente 227: 0.00
Componente 228: 0.00
Componente 229: 0.00
Componente 230: 0.00
Componente 231: 0.00
Componente 232: 0.00
Componente 233: 0.00
Componente 234: 0.00
Componente 235: 0.00
Componente 236: 0.00
Componente 237: 0.00
Componente 238: 0.00
Componente 239: 0.00
Componente 240: 0.00
Componente 241: 0.00
Componente 242: 0.00
Componente 243: 0.00
Componente 244: 0.00
Componente 245: 0.00
Componente 246: 0.00
Componente 247: 0.00
Componente 248: 0.00
Componente 249: 0.00
Componente 250: 0.00
Componente 251: 0.00
Componente 252: 0.00
Componente 253: 0.00
Componente 254: 0.00
Componente 255: 0.00
Componente 256: 0.00
Componente 257: 0.00
Componente 258: 0.00
Componente 259: 0.00
Componente 260: 0.00
Componente 261: 0.00
Componente 262: 0.00
Componente 263: 0.00
Componente 264: 0.00
Componente 265: 0.00
Componente 266: 0.00
Componente 267: 0.00
Componente 268: 0.00
Componente 269: 0.00
Componente 270: 0.00
Componente 271: 0.00
Componente 272: 0.00
Componente 273: 0.00
Componente 274: 0.00
Componente 275: 0.00
Componente 276: 0.00
Componente 277: 0.00
Componente 278: 0.00
Componente 279: 0.00
Componente 280: 0.00
Componente 281: 0.00
Componente 282: 0.00
Componente 283: 0.00
Componente 284: 0.00
Componente 285: 0.00
Componente 286: 0.00
Componente 287: 0.00
Componente 288: 0.00
Componente 289: 0.00
Componente 290: 0.00
Componente 291: 0.00
Componente 292: 0.00
Componente 293: 0.00
Componente 294: 0.00
Componente 295: 0.00
Componente 296: 0.00
Componente 297: 0.00
Componente 298: 0.00
Componente 299: 0.00
Componente 300: 0.00
Componente 301: 0.00
Componente 302: 0.00
Componente 303: 0.00
Componente 304: 0.00
Componente 305: 0.00
Componente 306: 0.00
Componente 307: 0.00
Componente 308: 0.00
Componente 309: 0.00
Componente 310: 0.00
Componente 311: 0.00
Componente 312: 0.00
Componente 313: 0.00
Componente 314: 0.00
Componente 315: 0.00
Componente 316: 0.00
Componente 317: 0.00
Componente 318: 0.00
Componente 319: 0.00
Componente 320: 0.00
Componente 321: 0.00
Componente 322: 0.00
Componente 323: 0.00
Componente 324: 0.00
Componente 325: 0.00
Componente 326: 0.00
Componente 327: 0.00
Componente 328: 0.00
Componente 329: 0.00
Componente 330: 0.00
Componente 331: 0.00
Componente 332: 0.00
Componente 333: 0.00
Componente 334: 0.00
Componente 335: 0.00
Componente 336: 0.00
Componente 337: 0.00
Componente 338: 0.00
Componente 339: 0.00
Componente 340: 0.00
Componente 341: 0.00
Componente 342: 0.00
Componente 343: 0.00
Componente 344: 0.00
Componente 345: 0.00
Componente 346: 0.00
Componente 347: 0.00
Componente 348: 0.00
Componente 349: 0.00
Componente 350: 0.00
Componente 351: 0.00
Componente 352: 0.00
Componente 353: 0.00
Componente 354: 0.00
Componente 355: 0.00
Componente 356: 0.00
Componente 357: 0.00
Componente 358: 0.00
Componente 359: 0.00
Componente 360: 0.00
Componente 361: 0.00
Componente 362: 0.00
Componente 363: 0.00
Componente 364: 0.00
Componente 365: 0.00
Componente 366: 0.00
Componente 367: 0.00
Componente 368: 0.00
Componente 369: 0.00
Componente 370: 0.00
Componente 371: 0.00
Componente 372: 0.00
Componente 373: 0.00
Componente 374: 0.00
Componente 375: 0.00
Componente 376: 0.00
Componente 377: 0.00
Componente 378: 0.00
Componente 379: 0.00
Componente 380: 0.00
Componente 381: 0.00
Componente 382: 0.00
Componente 383: 0.00
Componente 384: 0.00
Componente 385: 0.00
Componente 386: 0.00
Componente 387: 0.00
Componente 388: 0.00
Componente 389: 0.00
Componente 390: 0.00
Componente 391: 0.00
Componente 392: 0.00
Componente 393: 0.00
Componente 394: 0.00
Componente 395: 0.00
Componente 396: 0.00
Componente 397: 0.00
Componente 398: 0.00
Componente 399: 0.00
Componente 400: 0.00
Componente 401: 0.00
Componente 402: 0.00
Componente 403: 0.00
Componente 404: 0.00
Componente 405: 0.00
Componente 406: 0.00
Componente 407: 0.00
Componente 408: 0.00
Componente 409: 0.00
Componente 410: 0.00
Componente 411: 0.00
Componente 412: 0.00
Componente 413: 0.00
Componente 414: 0.00
Componente 415: 0.00
Componente 416: 0.00
Componente 417: 0.00
Componente 418: 0.00
Componente 419: 0.00
Componente 420: 0.00
Componente 421: 0.00
Componente 422: 0.00
Componente 423: 0.00
Componente 424: 0.00
Componente 425: 0.00
Componente 426: 0.00
Componente 427: 0.00
Componente 428: 0.00
Componente 429: 0.00
Componente 430: 0.00
Componente 431: 0.00
Componente 432: 0.00
Componente 433: 0.00
Componente 434: 0.00
Componente 435: 0.00
Componente 436: 0.00
Componente 437: 0.00
Componente 438: 0.00
Componente 439: 0.00
Componente 440: 0.00
Componente 441: 0.00
Componente 442: 0.00
Componente 443: 0.00
Componente 444: 0.00
Componente 445: 0.00
Componente 446: 0.00
Componente 447: 0.00
Componente 448: 0.00
Componente 449: 0.00
Componente 450: 0.00
Componente 451: 0.00
Componente 452: 0.00
Componente 453: 0.00
Componente 454: 0.00
Componente 455: 0.00
Componente 456: 0.00
Componente 457: 0.00
Componente 458: 0.00
Componente 459: 0.00
Componente 460: 0.00
Componente 461: 0.00
Componente 462: 0.00
Componente 463: 0.00
Componente 464: 0.00
Componente 465: 0.00
Componente 466: 0.00
Componente 467: 0.00
Componente 468: 0.00
Componente 469: 0.00
Componente 470: 0.00
Componente 471: 0.00
Componente 472: 0.00
Componente 473: 0.00
Componente 474: 0.00
Componente 475: 0.00
Componente 476: 0.00
Componente 477: 0.00
Componente 478: 0.00
Componente 479: 0.00
Componente 480: 0.00
Componente 481: 0.00
Componente 482: 0.00
Componente 483: 0.00
Componente 484: 0.00
Componente 485: 0.00
Componente 486: 0.00
Componente 487: 0.00
Componente 488: 0.00
Componente 489: 0.00
Componente 490: 0.00
Componente 491: 0.00
Componente 492: 0.00
Componente 493: 0.00
Componente 494: 0.00
Componente 495: 0.00
Componente 496: 0.00
Componente 497: 0.00
Componente 498: 0.00
Componente 499: 0.00
Componente 500: 0.00
Componente 501: 0.00
Componente 502: 0.00
Componente 503: 0.00
Componente 504: 0.00
Componente 505: 0.00
Componente 506: 0.00
Componente 507: 0.00
Componente 508: 0.00
Componente 509: 0.00
Componente 510: 0.00
Componente 511: 0.00
Componente 512: 0.00
Componente 513: 0.00
Componente 514: 0.00
Componente 515: 0.00
Componente 516: 0.00
Componente 517: 0.00
Componente 518: 0.00
Componente 519: 0.00
Componente 520: 0.00
Componente 521: 0.00
Componente 522: 0.00
Componente 523: 0.00
Componente 524: 0.00
Componente 525: 0.00
Componente 526: 0.00
Componente 527: 0.00
Componente 528: 0.00
Componente 529: 0.00
Componente 530: 0.00
Componente 531: 0.00
Componente 532: 0.00
Componente 533: 0.00
Componente 534: 0.00
Componente 535: 0.00
Componente 536: 0.00
Componente 537: 0.00
Componente 538: 0.00
Componente 539: 0.00
Componente 540: 0.00
Componente 541: 0.00
Componente 542: 0.00
Componente 543: 0.00
Componente 544: 0.00
Componente 545: 0.00
Componente 546: 0.00
Componente 547: 0.00
Componente 548: 0.00
Componente 549: 0.00
Componente 550: 0.00
Componente 551: 0.00
Componente 552: 0.00
Componente 553: 0.00
Componente 554: 0.00
Componente 555: 0.00
Componente 556: 0.00
Componente 557: 0.00
Componente 558: 0.00
Componente 559: 0.00
Componente 560: 0.00
Componente 561: 0.00
Componente 562: 0.00
Componente 563: 0.00
Componente 564: 0.00
Componente 565: 0.00
Componente 566: 0.00
Componente 567: 0.00
Componente 568: 0.00
Componente 569: 0.00
Componente 570: 0.00
Componente 571: 0.00
Componente 572: 0.00
Componente 573: 0.00
Componente 574: 0.00
Componente 575: 0.00
Componente 576: 0.00
Componente 577: 0.00
Componente 578: 0.00
Componente 579: 0.00
Componente 580: 0.00
Componente 581: 0.00
Componente 582: 0.00
Componente 583: 0.00
Componente 584: 0.00
Componente 585: 0.00
Componente 586: 0.00
Componente 587: 0.00
Componente 588: 0.00
Componente 589: 0.00
Componente 590: 0.00
Componente 591: 0.00
Componente 592: 0.00
Componente 593: 0.00
Componente 594: 0.00
Componente 595: 0.00
Componente 596: 0.00
Componente 597: 0.00
Componente 598: 0.00
Componente 599: 0.00
Componente 600: 0.00
Componente 601: 0.00
Componente 602: 0.00
Componente 603: 0.00
Componente 604: 0.00
Componente 605: 0.00
Componente 606: 0.00
Componente 607: 0.00
Componente 608: 0.00
Componente 609: 0.00
Componente 610: 0.00
Componente 611: 0.00
Componente 612: 0.00
Componente 613: 0.00
Componente 614: 0.00
Componente 615: 0.00
Componente 616: 0.00
Componente 617: 0.00
Componente 618: 0.00
Componente 619: 0.00
Componente 620: 0.00
Componente 621: 0.00
Componente 622: 0.00
Componente 623: 0.00
Componente 624: 0.00
Componente 625: 0.00
Componente 626: 0.00
Componente 627: 0.00
Componente 628: 0.00
Componente 629: 0.00
Componente 630: 0.00
Componente 631: 0.00
Componente 632: 0.00
Componente 633: 0.00
Componente 634: 0.00
Componente 635: 0.00
Componente 636: 0.00
Componente 637: 0.00
Componente 638: 0.00
Componente 639: 0.00
Componente 640: 0.00
Componente 641: 0.00
Componente 642: 0.00
Componente 643: 0.00
Componente 644: 0.00
Componente 645: 0.00
Componente 646: 0.00
Componente 647: 0.00
Componente 648: 0.00
Componente 649: 0.00
Componente 650: 0.00
Componente 651: 0.00
Componente 652: 0.00
Componente 653: 0.00
Componente 654: 0.00
Componente 655: 0.00
Componente 656: 0.00
Componente 657: 0.00
Componente 658: 0.00
Componente 659: 0.00
Componente 660: 0.00
Componente 661: 0.00
Componente 662: 0.00
Componente 663: 0.00
Componente 664: 0.00
Componente 665: 0.00
Componente 666: 0.00
Componente 667: 0.00
Componente 668: 0.00
Componente 669: 0.00
Componente 670: 0.00
Componente 671: 0.00
Componente 672: 0.00
Componente 673: 0.00
Componente 674: 0.00
Componente 675: 0.00
Componente 676: 0.00
Componente 677: 0.00
Componente 678: 0.00
Componente 679: 0.00
Componente 680: 0.00
Componente 681: 0.00
Componente 682: 0.00
Componente 683: 0.00
Componente 684: 0.00
Componente 685: 0.00
Componente 686: 0.00
Componente 687: 0.00
Componente 688: 0.00
Componente 689: 0.00
Componente 690: 0.00
Componente 691: 0.00
Componente 692: 0.00
Componente 693: 0.00
Componente 694: 0.00
Componente 695: 0.00
Componente 696: 0.00
Componente 697: 0.00
Componente 698: 0.00
Componente 699: 0.00
Componente 700: 0.00
Componente 701: 0.00
Componente 702: 0.00
Componente 703: 0.00
Componente 704: 0.00
Componente 705: 0.00
Componente 706: 0.00
Componente 707: 0.00
Componente 708: 0.00
Componente 709: 0.00
Componente 710: 0.00
Componente 711: 0.00
Componente 712: 0.00
Componente 713: 0.00
Componente 714: 0.00
Componente 715: 0.00
Componente 716: 0.00
Componente 717: 0.00
Componente 718: 0.00
Componente 719: 0.00
Componente 720: 0.00
Componente 721: 0.00
Componente 722: 0.00
Componente 723: 0.00
Componente 724: 0.00
Componente 725: 0.00
Componente 726: 0.00
Componente 727: 0.00
Componente 728: 0.00
Componente 729: 0.00
Componente 730: 0.00
Componente 731: 0.00
Componente 732: 0.00
Componente 733: 0.00
Componente 734: 0.00
Componente 735: 0.00
Componente 736: 0.00
Componente 737: 0.00
Componente 738: 0.00
Componente 739: 0.00
Componente 740: 0.00
Componente 741: 0.00
Componente 742: 0.00
Componente 743: 0.00
Componente 744: 0.00
Componente 745: 0.00
Componente 746: 0.00
Componente 747: 0.00
Componente 748: 0.00
Componente 749: 0.00
Componente 750: 0.00
Componente 751: 0.00
Componente 752: 0.00
Componente 753: 0.00
Componente 754: 0.00
Componente 755: 0.00
Componente 756: 0.00
Componente 757: 0.00
Componente 758: 0.00
Componente 759: 0.00
Componente 760: 0.00
Componente 761: 0.00
Componente 762: 0.00
Componente 763: 0.00
Componente 764: 0.00
Componente 765: 0.00
Componente 766: 0.00
Componente 767: 0.00
Componente 768: 0.00
Componente 769: 0.00
Componente 770: 0.00
Componente 771: 0.00
Componente 772: 0.00
Componente 773: 0.00
Componente 774: 0.00
Componente 775: 0.00
Componente 776: 0.00
Componente 777: 0.00
Componente 778: 0.00
Componente 779: 0.00
Componente 780: 0.00
Componente 781: 0.00
Componente 782: 0.00
Componente 783: 0.00
Componente 784: 0.00
Número de componentes para explicar al menos el 85% de la varianza: 59